package sg.edu.nus.iss.billing.service.subscription;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

import sg.edu.nus.iss.billing.vo.account.AccountVO;
import sg.edu.nus.iss.billing.vo.subscription.SubscriptionVO;
import sg.edu.nus.iss.billing.vo.subscription.feature.FeatureVO;

public interface ISubscription {

	public abstract ArrayList<SubscriptionVO> geAllPlans();

	public abstract void createSubscriptions(
			ArrayList<SubscriptionVO> listSubscriptionVO);

	public abstract void modifySubscription(
			List<SubscriptionVO> listSubscriptionVO);
	
	public double getThisMonthTotalCharges(AccountVO account);
	
	public double getFeatureRate(FeatureVO feature,String subscriptionId,Date date);
	
	public List<SubscriptionVO> getAllSubscriptionsForAcct();

}